import paramiko  
  
# 定义SSH连接参数  
tee_hostname = 'tee'  # 使用hosts配置中的名称  
tee_username = 'zjlab'  
tee_password = None  # 因为已经配置了免密登录，所以不需要密码  
  
# 定义要在tee服务器上执行的命令  
command = 'cd ~/workspace/analysis-tee-scripts/ && python3 ~/workspace/analysis-tee-scripts/analysis_search.py'  
  
def ssh_execute_command(hostname, username, password, command):  
    try:  
        # 创建一个SSH客户端  
        ssh_client = paramiko.SSHClient()  
        # 自动添加策略，保存服务器的主机名和密钥信息，不检查HostKey  
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
        # 连接到服务器  
        ssh_client.connect(hostname, username=username, password=password)  
          
        # 执行命令  
        _, stdout, stderr = ssh_client.exec_command(command)  
          
        # 获取命令执行结果  
        output = stdout.read().decode()  
        error = stderr.read().decode()  
          
        print("Output:")  
        print(output)  
          
        if error:  
            print("Error:")  
            print(error)  
          
        # 关闭SSH连接  
        ssh_client.close()  
    except Exception as e:  
        print(f"An error occurred: {repr(e)}")  
  
# 从web服务器远程登录到tee服务器并执行命令  
ssh_execute_command(tee_hostname, tee_username, tee_password, command)